/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package servidor.archivos;

import java.io.File;
import java.rmi.Remote;

/**
 * Interfaz de comunicación entre el Servidor de Solicitudes y el Servidor de Archivos
 * @author Eduardo
 */
public interface IArchivos extends Remote {
    /**
     * Permite al cliente visualizar un archivo alojado en el Servidor de Archivos
     * @param nombreArchivo Nombre del archivo que el cliente desea visualizar
     * @param ipCliente Ip del cliente que realiza la petición
     * @return Devuelve el contenido del archivo que el cliente visualizará por consola
     */
    public String vista(String nombreArchivo, String ipCliente) throws java.rmi.RemoteException;

    /**
     * Permite al cliente actualizar (si existe) o crear (si no existe) un archivo alojado en el
     * Servidor de Archivos
     * @param ruta Ruta del archivo en la máquina del cliente que será enviado al Servidor de
     * Archivos
     * @return Devuelve un valor lógico indicando un mensaje de éxito o error en la operación
     */
    public String actualizacion(File fichero, String ipCliente) throws java.rmi.RemoteException;

    /**
     * Permite al cliente eliminar un archivo alojado en el Servidor de Archivos
     * @param nombreArchivo Nombre del archivo que el cliente desea eliminar
     * @return Devuelve un valor lógico indicando un mensaje de éxito o error en la operación
     */
    public String eliminarArchivo(String nombreArchivo, String ipCliente)
            throws java.rmi.RemoteException;

    /**
     * Permite al cliente visualizar el contenido del archivo de bitácora alojado en el Servidor de
     * Archivos
     * @return El contenido del archivo de bitácora
     */
    public String consultarBitacora() throws java.rmi.RemoteException;
}
